{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tensorflow.keras.models import load_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_preprocessed_images = np.load('../test_preproc_resnet.npy')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "model_path = '../resnet101_drop_batch_best_weights_256.h5'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\envs\\tf_gpu\\lib\\site-packages\\tensorflow_core\\python\\ops\\init_ops.py:97: calling GlorotUniform.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Call initializer instance with the dtype argument instead of passing it to the constructor\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\envs\\tf_gpu\\lib\\site-packages\\tensorflow_core\\python\\ops\\init_ops.py:97: calling Zeros.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Call initializer instance with the dtype argument instead of passing it to the constructor\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\envs\\tf_gpu\\lib\\site-packages\\tensorflow_core\\python\\ops\\init_ops.py:97: calling Ones.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Call initializer instance with the dtype argument instead of passing it to the constructor\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\envs\\tf_gpu\\lib\\site-packages\\tensorflow_core\\python\\ops\\resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n"
     ]
    }
   ],
   "source": [
    "model = load_model(model_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "30/30 [==============================] - 12s 415ms/sample\n"
     ]
    }
   ],
   "source": [
    "#Prediction Function\n",
    "array = model.predict(test_preprocessed_images, batch_size=1, verbose=1)\n",
    "y_pred = np.argmax(array, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_df = pd.read_csv('../dataset/test.csv')\n",
    "y_true = test_df['labels']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import confusion_matrix\n",
    "conf_mat = confusion_matrix(y_true, y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_dir = '../Data/training/'\n",
    "classes = os.listdir(train_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import itertools\n",
    "def plot_confusion_matrix(cm, classes,\n",
    "                          normalize=False,\n",
    "                          title='Confusion matrix',\n",
    "                          cmap=plt.cm.Reds):\n",
    "    \"\"\"\n",
    "    This function prints and plots the confusion matrix.\n",
    "    Normalization can be applied by setting `normalize=True`.\n",
    "    \"\"\"\n",
    "    plt.imshow(cm, interpolation='nearest', cmap=cmap)\n",
    "    plt.title(title)\n",
    "    plt.colorbar()\n",
    "    tick_marks = np.arange(len(classes))\n",
    "    plt.xticks(tick_marks, classes, rotation=45)\n",
    "    plt.yticks(tick_marks, classes)\n",
    "\n",
    "    if normalize:\n",
    "        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
    "        cm = cm.round(2)\n",
    "        #print(\"Normalized confusion matrix\")\n",
    "    else:\n",
    "        cm=cm\n",
    "        #print('Confusion matrix, without normalization')\n",
    "\n",
    "    #print(cm)\n",
    "\n",
    "    thresh = cm.max() / 2.\n",
    "    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
    "        plt.text(j, i, cm[i, j],\n",
    "                 horizontalalignment=\"center\",\n",
    "                 color=\"white\" if cm[i, j] > thresh else \"black\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.ylabel('True label')\n",
    "    plt.xlabel('Predicted label')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGzCAYAAADzOxTxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3dd7wcZb3H8c83JJESqtQUCKFJlRSQ3g1VIhcUkA7CBb2IIteLoIIKihLBgqIoTekEEKQXpSkgSegkUgOkUALSS5LD7/7xzInLYU/fs7Mz+32/Xvs6uzOzM799ds/+9inzjCICMzMzy0e/vAMwMzNrZk7EZmZmOXIiNjMzy5ETsZmZWY6ciM3MzHLkRGxmZpYjJ2LrMUkLSfqLpDckXd6L/ewj6eZaxpYXSZtL+lejHE/ScEkhqX+9YioKSdMkbZfdP07SH/rgGL+V9N1a79fKRT6PuPwkfQk4GvgU8BbwIHByRNzdy/3uBxwJbBIR83odaIOTFMBqEfFU3rG0R9I04MsRcWv2eDjwLDCg1u+RpPOA6RHxnVrut17allUN9ndgtr/NarE/ax6uEZecpKOBnwM/ApYDVgR+A4yrwe5XAp5ohiTcFa519h2XrZVaRPhW0huwOPA28IUOtvkEKVHPzG4/Bz6RrdsKmA58E3gZmAUclK37PjAHmJsd4xDgROCCin0PBwLonz0+EHiGVCt/FtinYvndFc/bBLgfeCP7u0nFutuBHwJ/z/ZzM7B0O6+tNf5vVcT/eWAn4AngNeC4iu03BO4BXs+2PQMYmK27M3st72Svd8+K/f8f8CLwp9Zl2XNWyY4xKns8GJgNbNWF9+584JvZ/SHZsb+SPV4126/aHO9PwIfAe1mM36p4Dw4Ans+Of3wX3/+PvC/ZssiOf1j23s/JjvWXdl5HAIcDTwL/Bn7Nf1ri+gHfAZ7L3p8/Aou3+ewcksV9Z8Wyg4AXsv0dDmwAPJy9b2dUHHsV4K/Aq9nrvhBYomL9NGC77P6JZJ/d7H1/u+I2DzgxW3cs8DTps/c4sFu2fE3gfaAle87r2fLzgJMqjnko8FT2/l0DDO5KWflW7lvuAfjWh28u7JB9ifTvYJsfAPcCywLLAP8Afpit2yp7/g+AAaQE9i6wZLZ+/pdXO49bvzj7A4sAbwJrZOtWANbO7h9I9oUPLJV9Ce2XPW/v7PEns/W3Z1+EqwMLZY9Paee1tcb/vSz+Q4FXgIuARYG1sy/PEdn2o4GNsuMOB6YAX6/YXwCrVtn/T0gJbSEqEmO2zaHZfhYGbgLGd/G9O5gsuQFfyl7zpRXrrq6IofJ408iSS5v34PdZfJ8GPgDW7ML7P/99qVYGtEky7byOAK4FliC1xrwC7FDxOp4CRgCDgCuBP7WJ+4+kz85CFct+CywIjM3evz9n8Q8hJfQts32sCnw2e2+WISXzn1crK9p8diu2WT+LeWT2+AukH1T9SD/G3gFW6KC85pcRsA3pB8GoLKZfAXd2pax8a8wbcE72mXu0YtlSwC2kH1S3kH1fdnRz03S5fRKYHR03He8D/CAiXo6IV0g13f0q1s/N1s+NiOtJv/bX6GE8HwLrSFooImZFxGNVttkZeDIi/hQR8yLiYmAq8LmKbc6NiCci4j3gMtKXZXvmkvrD5wKXAEsDv4iIt7LjPwasBxARkyLi3uy404DfAVt24TWdEBEfZPF8RET8nvQPeR/px8fxneyv1R3A5pL6AVsAPwU2zdZtma3vju9HxHsR8RDwECkhQ+fvfy2cEhGvR8TzwN/4z/u1D3BaRDwTEW8D3wb2atMMfWJEvNOmbH8YEe9HxM2kRHhxFv8M4C5gJEBEPBURt2TvzSvAaXT+fs4naRlSkj8yIh7I9nl5RMyMiA8j4lLSe7thF3e5D3BOREyOiA+y17tx1o/fqr2yssZ0HqnCU+lY4LaIWA24LXvcISficnsVWLqT/rXBpKbBVs9ly+bvo00if5dUe+mWiHiHVIM4HJgl6TpJn+pCPK0xDal4/GI34nk1Ilqy+61f5i9VrH+v9fmSVpd0raQXJb1J6ldfuoN9A7wSEe93ss3vgXWAX2VfwJ2KiKdJP3rWBzYn1ZRmSlqDniXi9sqss/e/Frpz7P6ksQytXqiyv7bvX3vv57KSLpE0I3s/L6Dz95PsuQOACcBFEXFJxfL9JT0o6XVJr5Pe1y7tkzavN/vx8So9/2xbziLiTlI3Q6VxpK4lsr+f72w/TsTldg+p6a6jD8JM0qCrVitmy3riHVITbKvlK1dGxE0R8VlSzXAqKUF1Fk9rTDN6GFN3nEmKa7WIWAw4jtQP25EOTzuQNIjU73o2cKKkpboRzx3AHqR+6hnZ4/2BJUkj37sdTxUdvf8feT8lfeT97MGxunLseXw0sfbmGD/Onr9e9n7uS+fvZ6tfkfqB548Il7QS6TP7P6SukiWARyv22VmsH3m9khYhtVrV47PdVIapfyyjBXp9k/SopIkVt8O6cPjlImIWQPZ32c6e4JGIJRYRb0j6HvBrSfNIA5vmAtsBW0fEt4CLge9Iup/0RfI9Us2hJx4E/k/SiqSBVt9uXSFpOeAzpKaa1sFELVX2cT3wq+yUq8uA3YG1SDXCvrYoqR/77ay2fgSpn67VS6T+zO6cvvQLYFJEfFnSWaT+zS8CSDqRNHBrq3aeewcwHmg9R/t20vt1V0Utv63WGLuqo/f/IWBtSeuTfqCc2MtjVTv2/0m6gVTOPyL1g8+TupovO7Qo6XP4uqQhwP925UmS/pvU6vCZiPiwYtUipDJ6JdvuIFKNuNVLwFBJAyNiTpVdXwRcIuki0riBHwH3Zd0gVkPvE+zOIr3ez+946/2IGFODkDrkGnHJRcRppHOIv0P6AnmB9Iv+z9kmJwETSaNOHwEmZ8t6cqxbgEuzfU3io8mzH2n09UxSU86WwFeq7ONVYJds21dJI393iYjZPYmpm44hDYx6i1TzubTN+hOB87NmyS92tjNJ40j9R4dni44GRknaJ3s8jDT6uz13kJLJndnju0k11DvbfUaqBX4ni/GYzmKkg/c/Ip4gDea6ldQX2va887OBtbJj/ZnuO4c00vtO0ij690nnpdfK90kDo94AriMNBuuKvUk/MGZKeju7HRcRjwM/I7U0vQSsy0ffv7+Sxhy8KOljn9eIuA34LnAFaVT+KsBePXlh1jGRvnB6e+uhlyStAJD9fbnTeLNRXmZWZ5IeBLbNfnyYWY0sqwVijxrUiM/krUmd1YizwXbXRsQ62eNTSWNTTpF0LLBU1vrYLjdNm+UkIjwi1qyP9KtF90Yn9VRJF5NOIVxa0nTgBOAU4DJJrefAf6GzwzgRm5lZqbQ2Tfe1iNi7nVXbdmc/7iM2MzPLkWvEZmZWOv1qMfC+TkOonIjNzKx0itTc60QMLL3IQrHSkovmHUbD0bJDOt/IzKyHpj3/PLNnv1qTk8YrCdVmsFadOBEDKy25KPcd1enAtqbT/6s/yjsEMyuxMZttlXcIDcGJ2MzMSsdN02ZmZjkRNRqsVSdF+tFgZmZWOq4Rm5lZ6RSplulEbGZm5SKo0RW86qJIPxrMzMxKxzViMzMrlXrNNV0rTsRmZlY6RRo17URsZmalU6QacZFiNTMzKx3XiM3MrFTShB7FaZt2IjYzs9IpUnNvkWI1MzMrHdeIzcysVIo217QTsZmZlU6RmnuLFKuZmVnpuEZsZmal04/itE07EZuZWakUrY/YTdNmZmY5co3YzMxKp0i1TCdiMzMrFalYTdNOxGZmVjpFGqxVpNq7mZlZ6bhGbGZmpeOmaTMzs5yIYjX3FinW0mv58EPG/Pwyxp1zXd6hNIwbb76VNdYfw6rrjuSU8afnHU5DcdlU53KpzuXSuJyIG8gv736YNZddMu8wGkZLSwtfPfoYbrhqAo9Puo+LL5/A41Om5h1WQ3DZVOdyqa4Zy6Wfen+rW6z1O5R1ZPrrb3PD1Oc4eMM18w6lYfxz4iRWHTGCESsPZ+DAgey1x+5cfe31eYfVEFw21blcqmu2chGiXw1u9eJE3CC++Ze7+fFOG9NPBRph0MdmzJzFsKFD5j8eOmQwM2bNyjGixuGyqc7lUp3LpbHlloglnSjpmBrt63ZJY2qxrzxc9/g0lhm0EKOHLpt3KA0lIj62zL9TEpdNdS6X6pqxXIrUNO1R0w3gH8/N4trHp3Hj1Od5f+483vxgLvtffAt/3PuzeYeWq6FDBvPC9BnzH0+fMZPBy6+QY0SNw2VTnculumYslyL9zqhbjVjS/pIelvSQpD+1Wbe+pHuz9VdJWjJbPr+mK2lpSdOy+wtJuiTb/lJgoWz5IZJOr9jvoZJOq9dr7KmTd9yYaccfwFPf3o8L9xnL1qsMafokDLDB6FE8+fTTPDttGnPmzOGSCVew68475h1WQ3DZVOdyqa7ZyqX16kuuEVeQtDZwPLBpRMyWtBTwtYpN/ggcGRF3SPoBcALw9Q52eQTwbkSsJ2k9YHK2/BLgYUnfioi5wEHAf9f69Vh99O/fnzN+dirbj9udlpYWDt5/X9Zey4PZwGXTHpdLdS6XxlavpultgAkRMRsgIl5T1kEhaXFgiYi4I9v2fODyTva3BfDLbF8PS3o4u/+OpL8Cu0iaAgyIiEeq7UDSYcBhACsuMag3r62mtlxlCFuuMqTzDZvETjuMZacdxuYdRkNy2VTncqmu2cqlSHNN1ysRC/j4aIHOzeM/zecLtlnX3v7+ABwHTAXObW/HEXEWcBbA6KHL9iQ2MzNrQEW7+lK9+ohvA74o6ZMAWdM0ABHxBvBvSZtni/YDWmvH04DR2f09KvZ3J7BPtq91gPUq9ncfMAz4EnBxrV+ImZlZLdWlRhwRj0k6GbhDUgvwACnJtjoA+K2khYFnSH27AOOByyTtB/y1YvszgXOzJukHgX+2OeRlwPoR8e+avxgzM2t4RZoko26nL0XE+aT+32rrHgQ2qrJ8KhW1XeA72fL3gL06ONxmgCdTNTNrUgVqmS7Uj4ZOSVpC0hPAexFxW97xmJmZdaZUE3pExOvA6nnHYWZm+UnnERenTlyqRGxmZgZumjYzM7Muco3YzMxKp0g1YidiMzMrHSdiMzOzHKlAg7XcR2xmZpYj14jNzKxUhJumzczMclWk5t4ixWpmZlY6rhGbmVnpFGislhOxmZmVjwrUS+ymaTMzsxy5RmxmZqXiUdNmZmY5cyI2MzPLUb8CZWL3EZuZmeXINWIzMysZFWrUtBOxmZmVStEGa7lp2szMLEdOxGZmVi5KM2v19talQ0nfkPSYpEclXSxpwe6G60RsZmaloxrcOj2GNAT4GjAmItYBFgD26m6sTsRmZmY91x9YSFJ/YGFgZk92YGZmVir96jBcKyJmSBoPPA+8B9wcETd3dz+uEZuZWanUolk6S+NLS5pYcTvsI8eRlgTGASsDg4FFJO3b3XhdIzYzM6tudkSM6WD9dsCzEfEKgKQrgU2AC7pzECdiMzMrnTpdj/h5YCNJC5OaprcFJnZ3J07EZmZWOvXIwxFxn6QJwGRgHvAAcFZ39+NEDGjZIfT/6o/yDqPhHL7I0LxDaFi/fWd63iGYWQfqNcVlRJwAnNCbfXiwlpmZWY5cIzYzs1IRxboMohOxmZmVToHysJumzczM8uQasZmZlU6RasROxGZmVjr1GjVdC26aNjMzy5FrxGZmVjp1mlmrJpyIzcysVESxmnuLFKuZmVnpuEZsZmalU6CWaSdiMzMrHxWok9iJ2MzMSqc4adh9xGZmZrlyjdjMzEpFFKtG7ERsZmblIhWqj9hN02ZmZjlyjdjMzErH1yM2MzPLkQqUid00bWZmliPXiM3MrFSEL/pgZmaWHzkRm5mZ5cqnL5mZmVmXuEZsZmalU6AKsROxmZmVj5umzczMrEtcIzYzs1Ip2ulLrhE3iBtvvpU11h/DquuO5JTxp+cdTq72O/s3/PSlZ/juI/fNX7bwkkty1M1X84MnHuCom69m4SWWyDHCxuDPTHUul+qaqlwE/aRe3+rFibgBtLS08NWjj+GGqybw+KT7uPjyCTw+ZWreYeXmnvMu5Fc77PaRZTscezRTb7uD760+kqm33cH2xx6dU3SNwZ+Z6lwu1blcGpsTcQP458RJrDpiBCNWHs7AgQPZa4/dufra6/MOKzdP3fV33n3t3x9Ztt64nbnn/AsBuOf8C/n053fJI7SG4c9MdS6X6pqxXKTe3+rFibgBzJg5i2FDh8x/PHTIYGbMmpVjRI1nseWW4c0XXwLgzRdfYtFll845onz5M1Ody6W65iuXdD3i3t7qJddELOlrkqZIujDPOPIWER9bVqSBBlZ//sxU53KpzuXS2PIeNf0VYMeIeDbnOHI1dMhgXpg+Y/7j6TNmMnj5FXKMqPG8+dIrLLb8crz54ksstvxyvPXy7LxDypU/M9W5XKprtnIRoAK19+YWqqTfAiOAayR9U9KfJT0s6V5J62XbLCPpFkmTJf1O0nOSls7WfVfS1Gz9xZKOkbSKpMkVx1hN0qR8XmHXbTB6FE8+/TTPTpvGnDlzuGTCFey68455h9VQHr7mejY+YB8ANj5gHx6++rqcI8qXPzPVuVyqa7pyEYVqms6tRhwRh0vaAdgaOAF4ICI+L2kb4I/A+tnyv0bEj7NtDwOQNAbYHRhJeg2TgUkR8bSkNyStHxEPAgcB51U7vqTDWve34rBhffhKO9e/f3/O+NmpbD9ud1paWjh4/31Ze601c40pT4dcdA6rb7U5g5b+JD9+YSp/OeFH3HTKaRx62flsesh+vPb8dM76wv55h5krf2aqc7lU14zlUqSmd1XrO6jbwaVpwBjgFmD3iHgmW/4CsA5wB7Bba9O1pNeA1YF9gSUj4oRs+WnAzIgYL2kfYEPgaOAJYMOIeLWjOMaMGhkT77699i+w4A5fZGjeITSs374zPe8QzApvzGZbMXHyAzVPmesutGD8eeXeV7BWnfLUpIgYU4OQOpR3H3Gram9EtLO8ve1bXUFWkybVkjtMwmZmVj6ea7r77gT2AZC0FTA7It4E7ga+mC0fCyyZbX838DlJC0oaBOzcuqOIeB+4CTgTOLdeL8DMzBqHzyPuvhOBMZIeBk4BDsiWfx8Ymw3A2hGYBbwVEfcD1wAPAVcCE4E3KvZ3IalGfXNdojczM+uhXJumI2J4xcNxVTZ5A9g+IuZJ2hjYOiI+yNaNj4gTJS1MqlH/rOJ5mwHnRERLX8RtZmaNS1DXuaJ7q1H6iNuzInCZpH7AHODQinVnSVoLWBA4PyImA0i6ClgF2KbewZqZWQOoc9NybzV0Io6IJ0mnKFVb96V2lu9WbbmZmVkjauhEbGZm1hNFGjXtRGxmZqVToDzsRGxmZuUiipWIG+X0JTMzs6bkGrGZmZWLhPoVp0rsRGxmZqXjpmkzMzPrEteIzcysdDyzlpmZWU48atrMzMy6zDViMzMrHc+sZWZmlpeCXfTBTdNmZmY5co3YzMxKx03TZmZmOSpQHnYiNjOzckmnLxUnE7uP2MzMLEeuEZuZWbkIVKBqphOxmZmVjNw0bWZmZl3jGrGZmZWPr0dsZmaWIzdNm5mZlZ+kJSRNkDRV0hRJG3d3H64Rm5lZuaiu5xH/ArgxIvaQNBBYuLs7cCI2M7PyqUMfsaTFgC2AAwEiYg4wp7v7cdO0mZmVTHb5pd7eOjcCeAU4V9IDkv4gaZHuRutEbGZmVt3SkiZW3A5rs74/MAo4MyJGAu8Ax3b3IG6atnadOX1i3iE0rLnH7J13CA1pwPiL8w7BLFVoa9M0PTsixnSwfjowPSLuyx5PoAeJ2DViMzMrnzo0TUfEi8ALktbIFm0LPN7dUF0jNjMz67kjgQuzEdPPAAd1dwdOxGZmVjo1apruVEQ8CHTUfN0pJ2IzMysfz6xlZmZmXeEasZmZlYvkiz6YmZnlydcjNjMzsy5xjdjMzMrHTdNmZmY5EYUaNe1EbGZmpaMCdby2m4izyzu1KyLerH04ZmZmzaWjGvFjQJAq+a1aHwewYh/GZWZm1nNlaJqOiGH1DMTMzKwmpLpNcVkLXWpFl7SXpOOy+0Mlje7bsMzMzJpDp4lY0hnA1sB+2aJ3gd/2ZVBmZma9UofLINZKV0ZNbxIRoyQ9ABARr2WXezIzM2tMJWuaniupH2mAFpI+CXzYp1GZmZk1ia7UiH8NXAEsI+n7wBeB7/dpVGZmZj2UWpaLUyPuNBFHxB8lTQK2yxZ9ISIe7duwzMzMeqFATdNdnVlrAWAuqXm6QPOVmJmZNbaujJo+HrgYGAwMBS6S9O2+DszMzKxnajBiusFGTe8LjI6IdwEknQxMAn7cl4GZmZn1VKn6iIHn2mzXH3imb8IxMzPrJVGOPmJJp5P6hN8FHpN0U/Z4LHB3fcIzMzMrt45qxK0jox8DrqtYfm/fhWNmZtZ7pWiajoiz6xmImZlZzRSoaboro6ZXkXSJpIclPdF6q0dwzeTGm29ljfXHsOq6Izll/Ol5h9MwDv7mcSz36U1Yd9vP5R1Kw1ntgtsZeeldjLnsbjaa8Pe8w2kY/l+qzuXSuLpyTvB5wLmk7u8dgcuAS/owpqbT0tLCV48+hhuumsDjk+7j4ssn8PiUqXmH1RAO/MJu3HDB7/MOo2HdsutnmPjFzbh3j03zDqUh+H+puqYrl1qculTHpu2uJOKFI+ImgIh4OiK+Q7oak9XIPydOYtURIxix8nAGDhzIXnvsztXXXp93WA1hi402YKklFs87DCsI/y9V14zlon7q9a1eupKIP1Dq9X5a0uGSPgcs28dxNZUZM2cxbOiQ+Y+HDhnMjFmzcozIikDATtfez2cu/zt/ePz5vMNpCP5fqs7l0ti6ch7xN4BBwNeAk4HFgYP7Mqj2SPoDcFpEPJ7H8ftKRHxsWYEG/FlObt9tIwYvsiAvv/sBO157P2ssMYjNBy+Vd1i58v9SdU1ZLgV6gV256MN92d23gP36NhzIat+KiI9dajEivtzXx8/D0CGDeWH6jPmPp8+YyeDlV8gxIiuCwYssCMCyC3+CcSsvx/0vv970idj/S9U1XbkUbEKPdpumJV0l6cr2brUMQtJwSVMk/QaYDJwtaaKkx7JLL7Zud7ukMdn9tyWdLOkhSfdKWk7SopKelTQg22YxSdNaHzeqDUaP4smnn+bZadOYM2cOl0y4gl133jHvsKyBvTN3Hm/NmTf//q0vzGbtpRbNOar8+X+pumYsF0m9vtVLRzXiM+oWRbIGcFBEfEXSUhHxmqQFgNskrRcRD7fZfhHg3og4XtJPgUMj4iRJtwM7A38G9gKuiIi5bQ8m6TDgMIAVhw3rw5fVuf79+3PGz05l+3G709LSwsH778vaa62Za0yN4ktfPZrb77mf2a/9m2FjtuTEbx7JIXvvkXdYuXvpvTl84cbJAMz7MNhrtRXYfsVlco4qf/5fqs7l0thUre+g7kFIw4G/RcTK2ePDSUmyP7ACcGREXJIl2WMiYqKkD4AFIyIk7Ql8NiK+LGlT4FsRMU7SPaQE3eH1k8eMGhkT7769r15eYcW/X8w7hIY17+Rv5B1CQxow/uK8Q7ACGbPZVkyc/EDNq56jl10i7vviZr3ez4BfXzcpIsbUIKQOdfV6xPXwDoCklYFjgA0i4t+SzgMWrLL93PjPr4gWstcSEX/Pmrq3BBboLAmbmVkJFWiwVldOX6q3xUhJ+Q1Jy5EmEemuP5KuoXxuLQMzMzOrtS4nYkmf6MtAWkXEQ8ADpItNnAP0ZO6+C4ElScnYzMyaiSjUzFqdNk1L2hA4m3T+8IqSPg18OSKOrFUQETENWKfi8YHtbLdVxf1BFfcnABMqNt0MmBARr9cqRjMzK5ACNU13pY/4l8AupFHIRMRDkhp2iktJvyI1Z++UdyxmZmad6Uoi7hcRz7U5p6qlj+LptVrW1M3MrIgE/RpxCFR1XUnEL2TN05Gd13sk4MsgmplZ4ypQ03RXfjIcARwNrAi8BGyULTMzM7Ne6spc0y+TZqgyMzNrfK2jpguiK6Omfw98bPqtiDisTyIyMzPrrTIlYuDWivsLArsBL/RNOGZmZr1VssFaEXFp5WNJfwJu6bOIzMzMmkhP5ppeGVip1oGYmZnVTJmapiX9m//0EfcDXgOO7cugzMzMeqxMg7WUZvH4NDAjW/RhNMJ1E83MzEqiw97sLOleFREt2c1J2MzMGl+ZLvoA/FPSqIiY3OfRmJmZ9VpJRk1L6h8R80hXMjpU0tOk6wSLVFkeVacYzczMSqujGvE/gVHA5+sUi5mZWW2UZLCWACLi6TrFYmZm1nslGjW9jKSj21sZEaf1QTxmZma9V5JEvAAwiKxmbGZmZrXXUSKeFRE/qFskZmZmNSCEyjBqGteEzcysqArUNN3RT4Zt6xaFmZlZk2q3RhwRr9UzEDMzs5oo0ahpMzOzYipQIi5Ob7aZmVkJuUZsZmYlU5K5ps3MzArLTdNmZmbWFa4Rm5lZuXjUtJmZWc7qmIglLQBMBGZExC7dfb4TsbVLSy6fdwgNa8D4i/MOoSG1XH9O3iE0pAV2OjjvEJpM3QdrHQVMARbryZPdR2xmZtZDkoYCOwN/6Ok+XCM2M7PyqU3T9NKSJlY8Pisizmqzzc+BbwGL9vQgTsRmZlYutRusNTsixrR7GGkX4OWImCRpq54exE3TZmZmPbMpsKukacAlwDaSLujuTpyIzcysZLLBWr29dSIivh0RQyNiOLAX8NeI2Le70bpp2szMysfnEZuZmTWPiLgduL0nz3UiNjOz8nGN2MzMLCee4tLMzCxPxboMYnEiNTMzKyHXiM3MrHzcNG1mZpajAiViN02bmZnlyDViMzMrFwEqTj3TidjMzEpG0M9N02ZmZtYFrhGbmVn5uGnazMwsRx41bWZmZl3hGrGZmZWLijXFpROxmZmVT4Gapp2IzcysfAo0WKs4kZqZmZWQa8RmZlY+bpo2MzPLScEGaxUnUjMzsxJyIm4QN958K2usP4ZV1x3JKeNPzzuchuFyaZ/L5uPenzOXjY49nVHHnMp63/gJJ156Y94hNYym+7xIvb/ViZumG0BLSwtfPfoYbvnLnxk6ZDAbbL41u+68I2ut+am8Q6TkmDQAABrYSURBVMuVy6V9LpvqPjGgP7ee8BUGLfQJ5s5rYYvv/oodRn6KjVYfnndouWrKz4tHTVt3/HPiJFYdMYIRKw9n4MCB7LXH7lx97fV5h5U7l0v7XDbVSWLQQp8AYG5LC/NaWlCBBu30FX9eGpsTcQOYMXMWw4YOmf946JDBzJg1K8eIGoPLpX0um/a1tHzI6GPGs8Ih32Pb9VbnM6utlHdIuWu6z4uyyyD29lYnDZeIJU2TtHSV5btKOjaPmPpaRHxsmX/Eu1w64rJp3wIL9GPS+GN47ncncP9Tz/Po8yVOOF3UlJ8X9ev9rU4aLhG3JyKuiYhT8o6jLwwdMpgXps+Y/3j6jJkMXn6FHCNqDC6X9rlsOrfEIgux5dqrctODU/MOJXf+vDS2XBOxpEUkXSfpIUmPStozW3WkpMmSHpH0qWzbAyWdkd0/T9IvJf1D0jOS9qjY5/9Kul/Sw5K+n8PL6rYNRo/iyaef5tlp05gzZw6XTLiCXXfeMe+wcudyaZ/LprpX3nib1995D4D3PpjDbQ8/wRpDls05qvw15efFo6a7bAdgZkTsDCBpceAnwOyIGCXpK8AxwJerPHcFYDPgU8A1wARJY4HVgA0BAddI2iIi7uz7l9Jz/fv354yfncr243anpaWFg/ffl7XXWjPvsHLncmmfy6a6Wa+/ycFnXEzLhx/yYQR7bPxpdhm9dt5h5a75Pi8q1KjpvBPxI8B4ST8Bro2Iu7IRjldm6ycB/9XOc/8cER8Cj0taLls2Nrs9kD0eRErMH0vEkg4DDgNYcdiwGryU3tlph7HstMPYvMNoOC6X9rlsPm69lQYz8dRv5h1GQ2qqz4uo62Cr3so1EUfEE5JGAzsBP5Z0c7bqg+xvC+3H+EHFfVX8/XFE/K4Lxz4LOAtgzKiRHx/JYGZmVgd59xEPBt6NiAuA8cCoXu7yJuBgSYOy/Q+R5A4iM7Nm4z7iLlsXOFXSh8Bc4AhgQk93FhE3S1oTuCdr4n4b2Bd4uQaxmplZUbiPuGsi4iZSLbbS8Ir1E4GtsvvnAedl9w9ss59BFfd/Afyi9tGamZnVXt41YjMzs9pqnVmrIJyIzcysfArUNF2cSM3MzErINWIzMyufAk2m7URsZmYl45m1zMzM8lOwmbWK85PBzMyshFwjNjOz8nHTtJmZWY4KNFirOD8ZzMzMSsg1YjMzKxlBv+LUM52IzcysXISbps3MzKxrXCM2M7Py8ahpMzOzvMhN02ZmZtY1rhGbmVn5eNS0mZlZTgo2atqJ2MzMSqZYV18qTqRmZmYl5BqxmZmVj5umzczMcuSmaTMzM+sK14jNzKxcJOjnpmkzM7P8uGnazMzMusI1YjMzKx+PmjYzM8tLsSb0cCI2M7PSkWvEZtaMFtjp4LxDaEj/Wn9U3iE0pPefn553CA3BidjMzMpFFKppujiRmpmZdUnWR9zbW2dHkYZJ+pukKZIek3RUT6J1jdjMzKxn5gHfjIjJkhYFJkm6JSIe785OnIjNzKx86jCzVkTMAmZl99+SNAUYAjgRm5lZk6tzH7Gk4cBI4L7uPteJ2MzMrLqlJU2seHxWRJzVdiNJg4ArgK9HxJvdPYgTsZmZlYuo1cxasyNiTIeHkgaQkvCFEXFlTw7iRGxmZiVTn5m1lGYNORuYEhGn9XQ/Pn3JzMysZzYF9gO2kfRgdtupuztxjdjMzMqnDlNcRsTdpIbwXnEiNjOz8inQzFpOxGZmVi5SXc4jrpXi/GQwMzMrIdeIzcysfNw0bWZmlqMCXY+4OD8ZzMzMSsg1YjMzK5n6TOhRK07EZmZWPm6aNjMzs65wjdjMzMpFuGnazMwsP4J+TsRmZma5kfuIzczMrCtcIzYzs/JxH7GZmVlOhE9fMjMzs65xjdjMzEqmWDNrFSfSkrvx5ltZY/0xrLruSE4Zf3re4TQMl0v7XDbVuVw+bsDKK7PS1X+Zf1t18oMsecCBeYfVt6Te3+rEibgBtLS08NWjj+GGqybw+KT7uPjyCTw+ZWreYeXO5dI+l011Lpfq5j77LM+N+1y67TaOeO993rrl5rzDsowTcQP458RJrDpiBCNWHs7AgQPZa4/dufra6/MOK3cul/a5bKpzuXRu4Y03Ye7zzzNv5sy8Q+lb/fr1/lavUOt2JGvXjJmzGDZ0yPzHQ4cMZsasWTlG1BhcLu1z2VTncuncYjvvwpvX/SXvMPpWLZql3TTdPknXS1oi7zhqKSI+tqxAI+/7jMulfS6b6lwunRgwgEW23Za3bnArQSMpzKhppfnKFBE75R1LrQ0dMpgXps+Y/3j6jJkMXn6FHCNqDC6X9rlsqnO5dGzQFlvywWOP0fLqq3mH0vc8ahokLSLpOkkPSXpU0p6SpklaOls/RtLt2f0TJZ0j6XZJz0j6WrZ8uKQpkn4DTAaGte6j2v6z54yWdIekSZJuktTw/4UbjB7Fk08/zbPTpjFnzhwumXAFu+68Y95h5c7l0j6XTXUul44tusvnePPakjdLtypQ03Rf1oh3AGZGxM4AkhYHftLB9p8CtgYWBf4l6cxs+RrAQRHxlWw/7e5f0gDgV8C4iHglS84nAwfX9JXVWP/+/TnjZ6ey/bjdaWlp4eD992XttdbMO6zcuVza57KpzuXSPi24IItssikvfff4vEOpk+L0Sahan0pNdiytDtwEXAZcGxF3SZoGjImI2ZLGAOMjYitJJwJzI+Lk7LlTgM+Sfij8LSJWrtjvNGAMsFSV/a8D/AN4Jtt8AWBWRIytEt9hwGEAKw4bNvq5qY/UugjMzAD41/qj8g6hIe3+/HQeff+DmmfMMeutHfdfe1mv99NvpXUmRcSYGoTUoT6rEUfEE5JGAzsBP5Z0MzCP/zSHL9jmKR9U3G+piO2dbuz/KuCxiNi4C/GdBZwFMGbUyL75NWJmZjmob9Nyb/VlH/Fg4N2IuAAYD4wCpgGjs01274P9/wtYRtLG2TYDJK3dm+OYmVkBuY8YgHWBUyV9CMwFjgAWAs6WdBxwX633HxFzJO0B/DLrk+4P/Bx4rJfHMjMz6xN92TR9E6kPt63Vq2x7YpvH61Q8XKfNuuHZ3ar7j4gHgS26F62ZmZVLcZqmC3MesZmZWZf4esRmZmbWVa4Rm5lZ+RSnQuxEbGZmZVScTOymaTMzsxy5RmxmZiVTrAk9nIjNzKx8nIjNzMzyVJxE7D5iMzOzHLlGbGZm5eOmaTMzszwVJxG7adrMzCxHrhGbmVm51Pkyhr3lRGxmZuVToETspmkzM7McuUZsZmYlVJwasROxmZmVjgrUNO1EbGZm5VOgROw+YjMzsxy5RmxmZiUj3EdsZmaWJzdNm5mZWVe4RmxmZuUiClUjdiI2M7MSKk4idtO0mZlZjlwjNjOz8nHTtJmZWY6Kk4fdNG1mZpYn14jNzKxkPKGHmZlZvtxHXCyTHnhwthZZ4rm848gsDczOO4gG5HKpzuVSnculfY1UNiv1yV59HnHxRMQyecfQStLEiBiTdxyNxuVSnculOpdL+1w2jceJ2MzMSsg1YjMzs/wUqGnapy81nrPyDqBBuVyqc7lU53Jpn8umwTgRN5iI8D9JFS6X6lwu1blc2tccZaNUI+7trStHknaQ9C9JT0k6tifROhGbmVkJqQa3To4gLQD8GtgRWAvYW9Ja3Y3UidjMzKxnNgSeiohnImIOcAkwrrs7cSK2UpDkz3IFqUAjVcz6Qn2apocAL1Q8np4t6xaPmrZCk7RuRDwSER/mHUuDWQV4Ku8gGoUkRUS099jKZdIDD96kRZZYuga7WlDSxIrHZ7XpY6+Wrbv9uXIiLhBJawObRMTv846lEWS14JMlXRMRf8g7nkaQ1YQHAtdIOikiLso7prxVJl1JKwEvAvOAllwDazDt/TiR1K9oP3QjYoc6HWo6MKzi8VBgZnd34kRcANmXq4CRwGo5h5Oryi+LiPhQ0lXAUjmH1TCysvlA0o+AT0Ixv0hrqSIJHw1sCbwO3CPpkoh4PdfgGkhFOX0ZWIb0nfOHiHg518Aa2/3AapJWBmYAewFf6u5O3K9WDAOyL9J/ADtI+nzeAeUlIkLShpKGZ4vuBA6XtE1+UTUGSWMq+sofAw6QNKKZk3ArSTsDu0TEOFINZmREvO6xBR8l6ShSMrkP2AM4JN+IGltEzAP+B7gJmAJcFhGPdXc//hA2IElDJI3J7q8KnCRpvYh4BvgOsJ6kAc34JSJpYWALUtPr/5Bqfd8AWstrgRzDy0XFwKyjgWslHQf8GzgH+G9J/Tx4i8WBiyUdAcwBjsyWr5xfSI0l+z4ZERHbAaOAWcBPJS0s6RP5Rte4IuL6iFg9IlaJiJN7sg83TTem3Unnox0FLAy8Bpwr6SLS1UpWABaPiNnNMOik9TVKWgPYGfgF8DdgbdI5fC3A4pLOiIh3cwy1rire+6HACxHxJUnrA5sAfyHViufXiJvhswIfbYqvuP8M8CvgnYjYKlv3DWBdSYdnp540lTZ954tHxBuSBku6ldR8v1tEtEj6Eqlf/do84y0zNcH/ZWG0+cf4KSnp/iIi/iFpJOkL92BgO+APwDER0RQDTrKm5yOB9YBfAhdmP0SWBMYC+5ESz7FNkmxaf5zsCPwGuB14AvhVRLwtaV1gdeAkYEJEfDe/aPMh6UBgOeCZiLhc0q9JCWYKMAD4GrBfRDyaX5T5aPNdcziwcEScJumzwJnA8RFxqaQDgGOBnbMWOesDTsQNSNK2wGHAiqQvkn0j4h/ZugVJNeYtgG80Qw1Q0gbAH0nJdhvSD5SngYsjYla2zWeA3SPiW7kFWmeSRpH6824kJZax2aofRMQb2TZrAQc2U7kASNoTOIFUCz4Z+F/gQmBvYFvgLeDXzZiEK0n6b1I/8B4R8bykhYCtSD927yHNFnVAT/o9reuaro+x0UlaETgV+ElEbEzq5/uhpI0lLRAR70fEhcA6pCbIZvAp4J8RMTEifgrcRhpIsqekZbNtVgd2kbR4WftDJa0kaRtJC0halFQOn46IvwJ/Ba4APiSd0rVY9rTPANtLWiSfqOtD0iqS+mf3twO2Bw6JiDNJP1pPJSWUcyNiX+CoZkzCkrZsnYIx+wyNA74FvCnpMOCnpNPfxgD/B+zkJNz3nIgbQJvEMRuY1vogIk7KHl8ObJgN0hpK1uRWxzDrTtLg7O4kYHlJWwNExJXAk6QEvW62zXRSn9YbJW6aXpXUtDooIt4izW+7iaRDImIucC9wDekc2aHZc14BvhAR7+QRcD1IWobUSrRotmhlUk1uM0lLZgl3S+BMSUcCNGOfcGYF4O2sXN4itaacDpxL+n96HtiB1Jc+y6cu1YcHazWArK9vc2DdiPiNpFnARpJeiIhXSLXiVYG3sy/c6ZI2jIjX8oy7L1T0fY4ErpN0akScLul2YKzShAwPkRLNY6Rz9m6LiL/lF3V9RMRtkhYnjYw+KyL+JGkscIMkIuJsSX8HHmk9PzYimmGAzWukJujVJR0RET+S9B6pG2NTSXdGxCNKE+I0xZiKtloHrUXEJZJGAP/KxhecSfp/eiwbc7EP8FlSbpiXY8hNxYm4cQTwPUkvAz8CfgusJelt0hfKUdmXiSIpXRKG+T9KdgT2IY3SPEnSG6TBadsD+2brvgEsC+wr6RMR8UFeMddTNrL1N8CXJc3JBtSMJU1QsUCk6feaYpKKiv+FFknvA8OBVSR9LSJ+mY2n2A0YKOmWiJiSa8A5ycqpdRT54aSWk58A5wMHR8QdWXfHl4GjgL0j4v38Im4+TsQ5y/ru3ouIuyXtThqUdAwp2Ywl9QUfGxH3wH9mvymjrIl+CeB7wA8j4npJvwOuAxaKiF9LuhRYENgcOIU0kK20SbiihWADUj/43RFxcfYD7Zhs9WWSNuM/TbNNoWLU70rAixFxdfajbW9JX4+In2fJeFvg5jxjzVNFOe0CbAZcFxE/k/QB8KesFvwwacDfnhHxeH7RNqmI8C2nG6lPZgKpn7NftmxzUt/vPnnHl2O5/A7YqKJM9gHmtpYJ6Qfk94C18o61TuWxC+mUm1OAf5J+fADsBEwk1WBat1Xe8dahPDYjDVKDNInJFOA84JvZsq1Jp3R9O3u8RN4x530j9Q0/C1ySPW793zoCeBn4dDN8dhr15sFadVY5MCsipgLPAd8FPiWpf0TcBdwNjJc0TCWfKar19SlNJLBMtngG6ZzhhbLHU4BLgVMkbRAR8yLiB9EEv9wlbUo6bWssaRKTFYCdJR0QEdcDJ5K+YIFyt5hU2AT4i6T/AtYEvgCcTRqcdXyk8QJXA8tKWiqacD7pyu+ZrH94Fum86a0kHRhZU3WkUeXHk8afNMNnpyH5POI6qmhm3Jh08YaZEXGr0pSEI4HTSDNp7UY6x7G0fVpZc6IiYpqknUi1vSdJyXdv4OekaQlnkCYw2RU4CLg8Ih7IJ+r6qPicbEgaTPM/pDEEvyYl5AOBrwMnRMQ5uQVaZ/rojFknkn6gXB0RRytNwbgW6UftlIg4XtLC0QTn2bfV+vnJ7u8FjAD+GhH3Zqd2jQdOj4jz84zT/sM14jrKvlx3In25jgYOkXQFKQndQzqx/tfATSVPwsNJp00MlbQ66Rf54RGxOynxXkSa0OSXpAtdfJ50se1dSXMol1pFEv4eaZDePaRR849ExKvA30l9evfkGGZdtRlwdASpFeBsYDela1J/QCqTHwMrS/pkMyZh+Eif8H7AcaQxFVdLGhcRt5Ka83+gNHWlNQAP1upjkj4JLBMRU7Pmoj2B4yINRBpIOodvfParfmFg0Yh4qfJXbZlkZTCGlIifA74IvABMBYiIQ5UubXhsRPwwe846wBmkvtBpecSdgyVI5wm3dlXcAxwv6VzSj7ivl/nHWlsVyaV1JqhxETEj+zydL2nfiHhc0mTgoCjxAL6uyAbv7Ub6n3lM0sOkiYEiIq6RtD/p/84agGvEfSgbsXkkcLCkdbIvk4VI/XyQzmk8l2y0a0S8GxEvZfdLl4Rh/uu6lTQ14yOk/t+BpNmPWl0DVNZmngS2johH6hVn3iLiZuC/SJ+dPSPiadJsYk8BX4s0m1ZTUZp+cUdSC8rcLCkPIHVh/CX7H2tp9iScWZt0rv1u2el9E0jjCX4jaeeIuCM8d3TDcI24D0XE+5L+TJr1Z5yk2aSa3fmSZkTEjUrTzK0haWng1bIm4DbeBB4gnZoVpDL5hdLUe28Dh5LmBgYg+2J9JYc4cxXpdJx5pGbEARFxAWkSk6YUEe9Jup7U/PwC6SIXz5GaqOcC7+UYXkPIur42jIgTJb0DbAjsLunyiLgy+zw1TUtKUXiwVh9pHViiNDH/l0hfFHNIp+asS6oJTyBNUvGNbARsU8kGbN0GfJtU09uG1Bd8Q0TcUtbm+e6SNI6UfLYDXoomueJWNVkr07rA0xHxWtYPeiCwYzThtJVt/0eUrmN+Emlw1k8lHUw6Nekh4I+RLmRvDcaJuA9J2pXUHPQV0nRxewLvkAYhLQYsSWqtfTCvGPOmNJXlRaTL9/0m73galaRlIk13asy/iP1BpNHje0cTXsChUnaa1mvZ6YDrkb53/p4l46+Srlh2UkS8mWecVp0TcR+RNAj4E3Bq/OcShp8h9fu1ABc1+5dHq6zVYAJpBqRprgVbZ7KBjXsC9zbToLVWbU5R2prUwvb5iHhQ6SpUo0mnAF4ZEadKWjyyS2Na4/Fgrb4TwNLAIjC/qfo+0gClebg/a76ImEyaKelZJ2HriuzUpPOchPUVUnfOJaTpKteLNOHNfaQzEbbKastOwg3Mg7X6SES8I+ky0tVfpkfElGwij11J8yg/nXOIjebtvAOwYmnWH21tTuU6mHQq1wWS3gTOlnQ0adT0QODAKOkFYsrEibhvXQkcDvxO6fJ0ewL/00yn4XRVs36pmvVEO6dyDSTNzLcHaaa+r3pcQTG4j7iPKV1daQNgOVL/5305h2RmJSDpMNIP/cpTuYaSLqM6NyLc/VUQTsRmZgVU5VSufYAvAzs36/SeReVEbGZWYD6Vq/jcR2xmVmwLAh8CX2zGUeRl4BqxmVnBeRa6YnMiNjMzy5En9DAzM8uRE7GZmVmOnIjNzMxy5ERs1g2SWiQ9KOlRSZdnFx/o6b62knRtdn9XScd2sO0S2bzC3T3GiZKO6eryNtucJ2mPbhxruCSfOmPWTU7EZt3zXkSsHxHrkK4vfXjlSiXd/r+KiGsi4pQONlmCdDlNMysZJ2KznrsLWDWrCU6R9BtgMjBM0lhJ90ianNWcBwFI2kHSVEl3ky6JSbb8QElnZPeXk3SVpIey2ybAKcAqWW381Gy7/5V0v6SHJX2/Yl/HS/qXpFuBNTp7EZIOzfbzkKQr2tTyt5N0l6QnJO2Sbb+ApFMrjv3fvS1Is2bmRGzWA9k1X3ckXdYSUsL7Y0SMBN4BvgNsFxGjgInA0dmUhL8HPgdsDizfzu5/CdwREZ8GRgGPAceSpjJcPyL+V9JYYDVgQ2B9YLSkLSSNBvYiTfr/X6R5zjtzZURskB1vCnBIxbrhwJbAzsBvs9dwCPBGRGyQ7f9QSSt34ThmVoVn1jLrnoUkPZjdvws4GxgMPBcR92bLNwLWAv4uCdJVce4BPgU8GxFPAki6ADisyjG2AfYHiIgW4A1JS7bZZmx2eyB7PIiUmBcFrmqda1jSNV14TetIOonU/D0IuKli3WUR8SHwpKRnstcwFlivov948ezYT3ThWGbWhhOxWfe8FxHrVy7Iku07lYuAWyJi7zbbrQ/UagYdAT+OiN+1OcbXe3CM84DPR8RDkg4EtqpY13ZfkR37yIioTNhIGt7N45oZbpo26wv3AptKWhVA0sKSVgemAitLWiXbbu92nn8bcET23AUkLQa8RarttroJOLii73mIpGWBO4HdJC0kaVFSM3hnFgVmSRoA7NNm3Rck9ctiHgH8Kzv2Edn2SFo9u9ynmfWAa8RmNRYRr2Q1y4slfSJb/J2IeCK7hux1kmYDdwPrVNnFUcBZkg4BWoAjIuIeSX/PTg+6IesnXhO4J6uRvw3sGxGTJV0KPEi6Pu1dXQj5u8B92faP8NGE/y/gDtL1tA+PiPcl/YHUdzxZ6eCvAJ/vWumYWVuea9rMzCxHbpo2MzPLkROxmZlZjpyIzczMcuREbGZmliMnYjMzsxw5EZuZmeXIidjMzCxHTsRmZmY5+n9L+tPbH4A9PAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 504x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.set_printoptions(precision=2)\n",
    "\n",
    "fig1 = plt.figure(figsize=(7,6))\n",
    "plot_confusion_matrix(conf_mat, classes=classes, title='Confusion matrix, without normalization')\n",
    "#fig1.savefig('../cm_wo_norm.jpg')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.set_printoptions(precision=2)\n",
    "\n",
    "fig2 = plt.figure(figsize=(7,6))\n",
    "plot_confusion_matrix(conf_mat, classes=classes, normalize = True, title='Normalized Confusion matrix')\n",
    "fig2.savefig('../cm_norm.jpg')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "TF_GPU",
   "language": "python",
   "name": "tf_gpu"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
